package com.cvte.shop.mapper;

import com.cvte.shop.entity.UniversalResultFields;
import com.cvte.shop.entity.UniversalTableConfig;
import com.cvte.csb.jdbc.mybatis.mapper.CommonMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * Mapper接口
 *
 * @author inv
 * @since 2020-08-04
 */
public interface UniversalTableConfigMapper extends CommonMapper<UniversalTableConfig> {

    /**
     * 核对结果集是否符合sql要求
     * @param resultSet
     * @return
     */
    Integer checkSql(@Param("resultSet")String resultSet);


    /**
     * 查询结果集
     * @param tableId
     * @return
     */
    String selectTableResultById(@Param("tableId")String tableId);

    /**
     * 根据表名称查询出对应的字段信息
     * @param tableName  视图或者表的名称
     * @return  FieldName、FieldType
     */
    List<UniversalResultFields> selectFieidByTableName(@Param("tableName") String tableName);

    /**
     * 创建一个视图
     * @param viewName  视图名称
     * @param resultSet 结果集
     */
    void createView(@Param("viewName") String viewName,@Param("resultSet") String resultSet);

    /**
     * 删除一个视图
     * @param viewName  视图名称
     */
    void deleteView(@Param("viewName") String viewName);

}